#include "test2lib.h"

#include <iostream>
using namespace std; 

struct Window : public sigslot::has_slots<> 
{
    void get(Button* btn, bool dis,int j)  
	{
        if (dis){
            //在本exe中dis，在dll中dis会崩溃
            btn->click.disconnect(this);
            return;
        }
	    cout<<"window :"<<j<<endl;  
        btn->dump();
	}
};

int main()
{
    Window window;
    {    
        Button btn;
        btn.click.connect(&window, &Window::get);
        btn.check();
        //使用动态库必须在exe中disconnect，否则崩溃
        //btn.click.disconnect(&window);
    }
    return 0;
}